home *** CD-ROM | disk | FTP | other *** search
/ Plug-In Power Pack for Netscape Communicator / Plug-In Power Pack for Netscape Communicator.iso / plugins / dataviews / dvtools / demos / citydemo / c4i_popups.c < prev    next >
C/C++ Source or Header  |  1997-05-08  |  3KB  |  137 lines

  1. #ifndef lint
  2. static char SccsId[]= "@(#)c4i_popups.c    V1.5    3/31/92";
  3. #endif
  4.  
  5. /*------------------------------------------------------------------
  6. | file name -- c4i_popups.c
  7. |
  8. | functions             Description
  9. | ---------             -----------
  10. | CreatePopupDps    Sizes the information popup drawports
  11. | ResizeThisPopup    Resizes a particular popup
  12. | ResizePopups        Resizes the popups
  13. | RedrawPopups        Redraws the popups
  14. |
  15. |-----------------------------------------------------------------*/
  16.  
  17. #include "std.h"
  18. #include "dvstd.h"
  19. #include "Tfundecl.h"
  20. #include "c4i_vars.h"
  21. #include "VOfundecl.h"
  22. #include "c4i_fundecl.h"
  23.  
  24.  
  25.  
  26. extern FLOAT Intro1;
  27.  
  28. /*==================================================
  29.   CREATE_POPUP_DPS();
  30.   This does what it says!
  31.  
  32.   vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
  33. */
  34. void
  35. CreatePopupDps V_P_ ((void))
  36. {
  37.   INT i;
  38.   OBJECT drawing;
  39.   VIEW view;
  40.   RECTANGLE vp_delta;
  41.  
  42.   for (i = 0; i < NUM_POPUP_DP; i++)
  43.     {
  44.       view = TviLoad (SamplePopupVu[i]);
  45.       EXIT2_IF_INVALID (view, "This POPUP view not found -->", SamplePopupVu[i]);
  46.       drawing = TviGetDrawing (view);
  47.  
  48.       /* Get box around all objects and expand for round-off. */
  49.       (VOID) VOobBox (drawing, &Pvp_drawing[i], &vp_delta);
  50.       Pvp_drawing[i].ll.x--;
  51.       Pvp_drawing[i].ll.y--;
  52.       Pvp_drawing[i].ur.x--;
  53.       Pvp_drawing[i].ur.y--;
  54.  
  55.       /* Find screen coords and virtual coords. */
  56.       GetCoords (ActiveDrawport, &Pvp_drawing[i], &Pdd_scr_coords[i],
  57.                  &Pvp_screen[i]);
  58.  
  59.     }
  60.  
  61.  
  62. }
  63.  
  64. /* END CREATE_POPUP_DPS() */
  65.  
  66. /*==================================================
  67.   RESIZETHISPOPUP();
  68.   This does what it says!
  69.  
  70.   vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
  71. */
  72. void 
  73. ResizeThisPopup (p_class)
  74.      int p_class;
  75. {
  76.   /* Find screen coords and virtual coords. */
  77.   GetCoords (CalculatingDp[ZoomeD], &Pvp_drawing[p_class],
  78.              &Pdd_scr_coords[p_class], &Pvp_screen[p_class]);
  79.  
  80.   (VOID) TdpResize (DisplayList->PopupDp[p_class], &Pvp_screen[p_class]);
  81.  
  82. }
  83.  
  84. /*==================================================
  85.   RESIZEPOPUPS();
  86.   This does what it says!
  87.  
  88.   vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
  89. */
  90. void ResizePopups 
  91. V_P_ ((void))
  92. {
  93.   INT i;
  94.  
  95.   for (i = 0; i < NUM_POPUP_DP; i++)    /*for each existing popup... */
  96.     if (DisplayList->PopupDp[i])
  97.       {
  98.         /* Find screen coords and virtual coords. */
  99.         GetCoords (CalculatingDp[ZoomeD], &Pvp_drawing[i], &Pdd_scr_coords[i],
  100.                    &Pvp_screen[i]);
  101.  
  102.         (VOID) TdpResize (DisplayList->PopupDp[i], &Pvp_screen[i]);
  103.       }
  104.  
  105. }
  106.  
  107. /*==================================================
  108.   REDRAWPOPUPS( a );
  109.                         if a=YES then use TdpDraw
  110.                                  else use TdpRedraw
  111.   This does what it says!
  112.  
  113.   vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
  114. */
  115. void 
  116. RedrawPopups (requested_TdpDraw)
  117.      BOOLPARAM requested_TdpDraw;
  118. {
  119.   INT i;
  120.  
  121.   if (requested_TdpDraw)
  122.     {
  123.       for (i = 0; i < NUM_POPUP_DP; i++)
  124.         if (DisplayList->PopupDp[i])
  125.           (VOID) TdpDraw (DisplayList->PopupDp[i]);
  126.     }
  127.   else
  128.     {
  129.       for (i = 0; i < NUM_POPUP_DP; i++)
  130.         if (DisplayList->PopupDp[i])
  131.           (VOID) TdpRedraw (DisplayList->PopupDp[i], DEFAULT_PORTION, YES);
  132.     }
  133.  
  134. }
  135.  
  136. /* END REDRAWPOPUPS */
  137.